Главный Каталог Статей РФ
86554 авторов, размещено 47166 статей, сейчас на сайте пользователей: 21 Статистика
Аватар websmith

Создаем ЧПУ (человеко-понятные урлы) в скриптах при помощи Smarty

Категория:  Интернет  | Автор:  websmith | Опубликовано: 14.08.2007

Примечание: "Урл" - он же URL - универсальный адрес ресурса, она же ссылка на ресурс.

Человеко-понятные урлы - это ссылки, которые выглядят не запутанным нагромождением вопросительных знаков и амперсандов (значок &) и передаваемых в них параметров (типа такого - view_bill.php?id_bill=11 - и это еще не самый страшный вариант), а как ссылки на статичные html-страницы - например bill_11.htm. Кроме того, что они воспринимаются гораздо легче человеком, такие ссылки охотнее воспринимаются поисковыми истемами (мнение кстати, довольно спорное - но большинство склоняется к нему), что приводит к лучшей индексации таких страниц - и соответвенно лучшему нахождению сайта пользователями. Что в конечном итоге нам и надо.

Что бы отработать технику создания ЧПУ при помощи Smarty - вы можете скачать демо-версию Cкрипт продажи недвижимости - в ней есть уже подключенный Smarty, есть тестовое объявление и полностью сохранена работа с шаблонами. Все примеры ниже будут на базе шаблонов именно этой демо-версии.

Для создания этих самых ЧПУ в любом из скриптов, используюущем шаблонизатор Smarty (в частности, одним из моих готовых скриптов) нам понадобятся:
- модуль для Апача mod_rewrite (обычно уже установлен на сервере, если не уверены - поинтересуйтесь у своего хостинг-провайдера)
- файл .htaccess (также обычно на платном хостинге доступен для использования)
- непосредственно файлы-шаблоны, отвечающие в скрипте за вывод ссылок, которые мы и должны изменить.

Приступим к "приготовлению".

1. Создаем файл .htaccess - если он у вас уже есть, то просто открываем его и добавляем новые строки - например у его конец. Файл должен находится в папке стем скриптом, для которого мы "готовим" наши ЧПУ.

2. В нем прописываются правила замены - как именно должен сервер изменять урлы - так как по сути, меняя ссылки, мы никак не затрагиваем работу скриптов - а они по прежнему должны получать ожидаемые параметры через ссылку. Значит нужно, что бы сервер "переводил" те "понятные" ссылки, которые мы сделаем - в вид "непонятны" человеку, но понятных скрипту. Этим и занимается модуль Апача mod_rewrite.
Пример записи в файл .htaccess, в котором определяются правила замены ссылок вида bill_22.htm (22 - случайный номер, зависит от конкретного объявления, это его id номер) на понятную скрипту ссылку view_bill.php?id=22.

RewriteEngine On
RewriteRule ^bill_(.*).htm$ view_bill.php?id=textarea

Подробнее о командах, используемых в файле:
RewriteEngine On - это отметка о включении применения правил переделки "урлов"

RewriteRule ^bill_(.*).htm$ view_bill.php?id=textarea
А это правило, которое преобразует ссылки вида bill_12.htm в понятный для скрипта вид view_bill.php?id=12
Символ ^ - означает начало строки, а символ $ - ее конца
знак textarea - это тот символ - в нашем случае уникальный номер объвления, который получается при обработке ссылки - и захватывается он при помощи выражения (.*) в нашей строке поиска и замены.


Дальше - на сайте нужно организовать создание этих самых понятных урлов (вида bill_12.htm). Делается это в шаблоне - для скрипта недвижимости это например шаблон вывод списка объявлений - tpl/template/view/_list_bill.tpl.

В шаблонном файле находим строки, которые формируют ссылку на объявления, вот например эта:

< a href="bill.php?id={$bill.id}" target="_blank" >< img src="img/dop_img/lup.gif" border="0" />

и в ней меняем соответственно
bill.php?id={$bill.id}
на
bill_{$bill.id}.htm

Как видите - для получения номера объявления используем переменную Smarty {$bill.id}.
Таким образом на сайте ссылки будут выглядеть как bill_12.htm (например), а для скрипт сервер их переделает в view_bill.php?id=12


Кузнецов Сергей www.websmith.ru
Комментарии
К этой статье пока нет комментариев. Станьте первым! У нас гости не могут комментировать статьи. Пожалуйста авторизуйтесь или зарегистрируйтесь, чтобы прокомментировать.
Интересные статьи по теме
Аватар AnemoN
Накрутка лайков и подписчиков ВКонтакте Есть несколько хитрых и не очень методов, которые используются для т.н. "накрутки лайков".О заслуживающих внимания пойдет речь в этой статье....
Категория: Интернет | Автор: AnemoN | Добавлено: 17.02.2013
Аватар Jetti
Буксы — что это такое и как правильно выбрать букс для заработка Из-за коронавируса, "блуждающего" по всему миру вот уже второй год, у многих людей появилось огромное количество свободного времени. Одни стали тратить это время на хобби, другие — читать книги и смот...
Категория: Интернет | Автор: Jetti | Добавлено: 20.07.2021
Аватар Lizetta
Сколько времени уходит на создание сайта? Сколько времени тратит специалист на разработку сайта? В какой срок можно создать сайт и чем обуславливается это?...
Категория: Интернет | Автор: Lizetta | Добавлено: 03.06.2011
Аватар gul_itb
Как правильно представить информацию на сайте Зачем люди сидят в Интернете? В основном есть две причины – это развлечение и поиск информации. Ваш корпоративный сайт, конечно же тоже служит этим двум целям Интернет-общения. Даже бизнес-сайт о чем-...
Категория: Интернет | Автор: gul_itb | Добавлено: 26.10.2009
Аватар Marta22
Как улучшить страницу на сайте вконтакте Советы, как сделать страницу в vkontakte лучше...
Категория: Интернет | Автор: Marta22 | Добавлено: 21.08.2009
Лучшие авторы
Аватар mzhelvis82
Занимаюсь продвижением своего сайта на отзовик. Пл...

Читать

Аватар nord37
Являюсь владельцем блога Наш мир

Читать

Аватар Laesus De Liro
Невролог

Читать

Аватар FedorenkoDA
Магистр высшей математики, математической и теорет...

Читать

Аватар Игорь Губарев
Работаю психологом, пиарщиком, фотографом, Дедом М...

Читать

Свежие комментарии
Нормальная тема.

Читать

Талантливый человек талантлив во всём! Будь как Паша! А ещё ты можешь ...

Читать

Можно выбрать.

Читать

Ой, шутник.

Читать

https://priornews.ru/zastrojshhik-iz-hmao-sravnil-ufas-s-prestupnoj-gr...

Читать

Напишите нам